import {reactive,computed,toRefs} from 'vue'
interface dataFace{
  inpText:string, 
  list:Array<any>,
  doneList:Array<any>,
  notList:Array<any>,
  add():void,
  change(id:number):void
}
export function todoList(){
      let datas:dataFace=reactive({
        inpText:"",//要输入的数据
        list:[],//总的任务列表数据
        add:()=>{ //添加方法
          datas.list.push({
            id:new Date().getTime(),
            ischeck:false,
            text:datas.inpText
          })
          datas.inpText=""
        },
        change:(id:number)=>{ //已完成和未完成的切换
            datas.list.forEach((item,index)=>{
                if(id==item.id){
                  datas.list[index].ischeck=!datas.list[index].ischeck
                }
            })
        },
        doneList:computed(()=>{ //已完成的计算属性
          return datas.list.filter((item)=>{
              return item.ischeck==true
          })
        }),
        notList:computed(()=>{//未完成的数据
          return datas.list.filter((item)=>{
            return item.ischeck==false
          })
        })
    })
    let mydata=toRefs<dataFace>(datas)
    return mydata
}